﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BlogsAPI.Sites.FoursquareSharp
{
    /// <summary>
    /// An object containing none, some, or all of address (street address), crossStreet, city, state, postalCode, country, lat, lng, and distance. All fields are strings, except for lat, lng, and distance. Distance is measured in meters. 
    /// Some venues have their locations intentionally hidden for privacy reasons (such as private residences). If this is the case, the parameter isFuzzed will be set to true, and the lat/lng parameters will have reduced precision.
    /// </summary>
    /// <example>{"address":"2100 4th Ave","crossStreet":"at Lenora St","lat":47.61405420280855,"lng":-122.34097716918602,
    /// "distance":8380112,"postalCode":"98121","city":"Seattle","state":"WA","country":"United States","cc":"US",
    /// "planet":"earth","astralLat":0.0,"astralLng":0.0}</example>
    public class Location
    {
        /// <summary>
        /// идентификатор 
        /// </summary>
        [JsonMapping("address", JsonMapping.MappingType.Primitive)]
        public string Address { get; set; }
        /// <summary>
        /// идентификатор 
        /// </summary>
        [JsonMapping("crossStreet", JsonMapping.MappingType.Primitive)]
        public string CrossStreet { get; set; }
        /// <summary>
        /// идентификатор 
        /// </summary>
        [JsonMapping("lat", JsonMapping.MappingType.Primitive)]
        public double Lat { get; set; }
        /// <summary>
        /// идентификатор 
        /// </summary>
        [JsonMapping("lng", JsonMapping.MappingType.Primitive)]
        public double Lng { get; set; }
        /// <summary>
        /// идентификатор 
        /// </summary>
        [JsonMapping("distance", JsonMapping.MappingType.Primitive)]
        public long Distance { get; set; }
        /// <summary>
        /// идентификатор 
        /// </summary>
        [JsonMapping("postalCode", JsonMapping.MappingType.Primitive)]
        public string PostalCode { get; set; }
        /// <summary>
        /// идентификатор 
        /// </summary>
        [JsonMapping("city", JsonMapping.MappingType.Primitive)]
        public string City { get; set; }
        /// <summary>
        /// идентификатор 
        /// </summary>
        [JsonMapping("state", JsonMapping.MappingType.Primitive)]
        public string State { get; set; }
        /// <summary>
        /// идентификатор 
        /// </summary>
        [JsonMapping("country", JsonMapping.MappingType.Primitive)]
        public string Country { get; set; }
        /// <summary>
        /// идентификатор 
        /// </summary>
        [JsonMapping("cc", JsonMapping.MappingType.Primitive)]
        public string CC { get; set; }
    }
}
